package com.ydzh.kfqgwvisitor.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 访客信息表
 * </p>
 *
 * @author zcj
 * @since 2021-09-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "Visitor对象", description = "访客信息表 ")
public class Visitor implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "访客ID")
    @TableId(value = "ID", type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty(value = "身份证号码")
    @TableField("ID_CARD_NO")
    private String idCardNo;

    @ApiModelProperty(value = "访客姓名")
    @TableField("VISITOR_NAME")
    private String visitorName;

    @ApiModelProperty(value = "访客性别 1男2女")
    @TableField("SEX")
    private String sex;

    @ApiModelProperty(value = "访客联系电话")
    @TableField("PHONE_NO")
    private String phoneNo;

    @ApiModelProperty(value = "来访人车牌号")
    @TableField("VEHICLE_NO")
    private String vehicleNo;

    @ApiModelProperty(value = "来访人住址")
    @TableField("ADDRESS")
    private String address;

    @ApiModelProperty(value = "来访人街道门牌地址")
    @TableField("SPECIFIC_ADDRESS")
    private String specificAddress;

    @ApiModelProperty(value = "预约开始时间")
    @TableField("APPOINTMENT_START_TIME")
    private LocalDateTime appointmentStartTime;

    @ApiModelProperty(value = "预约结束时间")
    @TableField("APPOINTMENT_END_TIME")
    private LocalDateTime appointmentEndTime;

    @ApiModelProperty(value = "来访事由")
    @TableField("REASON_FOR_VISIT")
    private String reasonForVisit;

    @ApiModelProperty(value = "预约成功或者失败 1成功 0失败")
    @TableField("STATE")
    private String state;

    @ApiModelProperty(value = "被访人ID")
    @TableField("BEVISITOR_ID")
    private Long bevisitorId;

    @ApiModelProperty(value = "被访单位ID")
    @TableField("BEUNIT_ID")
    private Long beunitId;

    @ApiModelProperty(value = "访客或者被访人 0访客 1被访人")
    @TableField("IS_VISITOR")
    private String isVisitor;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "被访人部门ID")
    @TableField("BEDEPARTMENT_ID")
    private Long bedepartmentId;

    @ApiModelProperty(value = "领导ID")
    @TableField("LEADER_ID")
    private Long leaderId;

    @ApiModelProperty(value = "身份证照片")
    @TableField("ID_CARD_IMG")
    private String idCardImg;

    @ApiModelProperty(value = "访客照片")
    @TableField("VISITOR_IMG")
    private String visitorImg;

    @ApiModelProperty(value = "省")
    @TableField("PROVINCE")
    private String province;

    @ApiModelProperty(value = "市")
    @TableField("CITY")
    private String city;

    @ApiModelProperty(value = "区")
    @TableField("REGION")
    private String region;

    @ApiModelProperty(value = "被访人")
    @TableField("BEVISITOR_NAME")
    private String bevisitorName;

    @ApiModelProperty(value = "被访单位")
    @TableField("BEUNIT_NAME")
    private String beunitName;

    @ApiModelProperty(value = "被访问部门")
    @TableField("BEDEPARTMENT_NAME")
    private String bedepartmentName;

    @ApiModelProperty(value = "人脸认证是否成功 0 失败 1 成功")
    @TableField("FACE_AUTH")
    private Integer faceAuth;

    @ApiModelProperty(value = "海康返回的二维码内容")
    @TableField("QR_CODE")
    private String qRCode;

    @ApiModelProperty(value = "跟随人员数量")
    @TableField("FOLLOW_NUM")
    private Integer followNum;


    @ApiModelProperty(value = "跟随人员活体认证成功的数量（只有主访客才有此数据）")
    @TableField("FOLLOW_FACE_NUM")
    private Integer followFaceNum;


}
